From e27a88458fdb3925ef45ee1f1f8fa388adcc4b35 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Tue, 10 Feb 2004 19:48:38 +0000 Subject: [PATCH] Free the filters. Fixes #133547, patch by Morten Welinder 2004-02-10 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize): Free the filters. Fixes #133547, patch by Morten Welinder . --- ChangeLog | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ ChangeLog.pre-2-4 | 6 ++++++ ChangeLog.pre-2-6 | 6 ++++++ ChangeLog.pre-2-8 | 6 ++++++ gtk/gtkfilechooserdefault.c | 13 ++++++++++++- 6 files changed, 42 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index eb909cdff9..9b8a1184e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-02-10 Federico Mena Quintero + + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize): + Free the filters. Fixes #133547, patch by Morten Welinder + . + Tue Feb 10 12:02:14 2004 Owen Taylor * gdk/x11/xsettings-client.c (read_settings): Avoid diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index eb909cdff9..9b8a1184e5 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2004-02-10 Federico Mena Quintero + + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize): + Free the filters. Fixes #133547, patch by Morten Welinder + . + Tue Feb 10 12:02:14 2004 Owen Taylor * gdk/x11/xsettings-client.c (read_settings): Avoid diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index eb909cdff9..9b8a1184e5 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +2004-02-10 Federico Mena Quintero + + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize): + Free the filters. Fixes #133547, patch by Morten Welinder + . + Tue Feb 10 12:02:14 2004 Owen Taylor * gdk/x11/xsettings-client.c (read_settings): Avoid diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index eb909cdff9..9b8a1184e5 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +2004-02-10 Federico Mena Quintero + + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize): + Free the filters. Fixes #133547, patch by Morten Welinder + . + Tue Feb 10 12:02:14 2004 Owen Taylor * gdk/x11/xsettings-client.c (read_settings): Avoid diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index eb909cdff9..9b8a1184e5 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +2004-02-10 Federico Mena Quintero + + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize): + Free the filters. Fixes #133547, patch by Morten Welinder + . + Tue Feb 10 12:02:14 2004 Owen Taylor * gdk/x11/xsettings-client.c (read_settings): Avoid diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index f00a5a2847..0768ed764c 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -369,6 +369,7 @@ static void gtk_file_chooser_default_finalize (GObject *object) { GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object); + GSList *l; g_signal_handler_disconnect (impl->file_system, impl->volumes_changed_id); impl->volumes_changed_id = 0; @@ -376,7 +377,17 @@ gtk_file_chooser_default_finalize (GObject *object) impl->bookmarks_changed_id = 0; g_object_unref (impl->file_system); - /* FIXME: Free impl->filters -- what's the memory management there? */ + for (l = impl->filters; l; l = l->next) + { + GtkFileFilter *filter; + + filter = GTK_FILE_FILTER (l->data); + g_object_unref (filter); + } + g_slist_free (impl->filters); + + if (impl->current_filter) + g_object_unref (impl->current_filter); if (impl->current_volume_path) gtk_file_path_free (impl->current_volume_path); -- 2.30.2